/*
 * Middleware_Messages.h
 *
 */

#ifndef MIDDLEWARE_MESSAGES_H_
#define MIDDLEWARE_MESSAGES_H_

typedef MessageId_t BusId ;
typedef MessageId_t SalaId ;
typedef MessageId_t PersonaId ;
typedef MessageId_t PuertaId ;

typedef struct serializedPersona
{
	PersonaId m_id;

} serializedPersona;

typedef struct entryParkRequest
{
	serializedPersona m_persona;
} entryParkRequest;

typedef struct entryParkReply
{
	int tickets; //TODO this may change
} entryParkReply;

typedef struct entryWaitRoomRequest
{
	serializedPersona m_persona;
} entryWaitRoomRequest;

typedef struct entryWaitRoomReply
{
	BusId m_busId;
} entryWaitRoomReply;

typedef struct waitingBusRequest
{
	serializedPersona m_persona;
	SalaId m_salaId;
} waitingBusRequest;

typedef struct entryBusRequest
{
	serializedPersona m_persona;
} entryBusRequest;

typedef struct entryBusReply
{
	serializedPersona m_persona;
} entryBusReply;

typedef entryParkRequest exitParkRequest;
typedef entryParkReply exitParkReply;

#endif /* MIDDLEWARE_MESSAGES_H_ */
